<template>
  <header class="header">
    <h1>todos</h1>
    <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll" />
    <label for="toggle-all"></label>
    <input
      class="new-todo"
      placeholder="输入任务名称-回车确认"
      autofocus
      v-model="text"
      @keydown.enter="addfn"
    />
  </header>
</template>

<script>
import { set } from "vue";
export default {
  props: ["arr"],
  data() {
    return {
      text: "",
    };
  },
  methods: {
    addfn() {
      if (this.text.trim().length === 0) {
        alert("请输入完整信息");
        return;
      }
      this.$emit("text", this.text);
      this.text = "";
    },
  }, //页面变化 （勾选的为true，未勾选的为fales） v-model关联全选  计算属性变量
  computed: {
    isAll: {// 更改计算算属性的变量的时候  触发的是set
      set(val) {
        //val 是全选状态    把全选的值付给  每一项
        this.arr.forEach((item) => (item.isDone = val));
      },
      get() {//every  数组中有一项 不满足条件  原地返回fales
      //如果没有数据直接返回false 不要让全选勾选的状态
       return  this.arr.length!==0 && this.arr.every((item) => item.isDone === true);
      },
    },
  },
};
</script>